Generally described, computing devices utilize a communication network, or a series of communication networks, to exchange data. Companies and organizations operate computer networks that interconnect a number of computing devices to support operations or provide services to third parties. The computing systems can be located in a single geographic location or located in multiple, distinct geographic locations (e.g., interconnected via private or public communication networks). Specifically, data centers or data processing centers, herein generally referred to as a “data center,” may include a number of interconnected computing systems to provide computing resources to clients.
To facilitate increased utilization of data center resources, virtualization technologies may allow a single physical computing device, or a configuration of networked physical computing devices, to host one or more instances of virtual machines that appear and operate as independent computing machines to a connected computer user. With virtualization, the single physical computing device can create, maintain, or delete virtual machines in a dynamic manner. In turn, users can request computing resources (e.g., a virtual machine configured to appear and operate as a personal computer) from the data center, and be provided with virtual machine instances that provide the requested resources.
A virtual machine hosted in a data center may have access to computing resources hosted at the data center, such as networked storage volumes, processors, and the like. A remotely hosted virtual machine may have access to resources outside the data center via network interfaces, which may introduce latency and bandwidth issues as the virtual machine attempts to access the external resources.